/**
 * @filename:PpBom Sep 23, 2024
 * Copyright(c) 2022 Wonder Co. Ltd.
 * All right reserved.
 */
package com.wonder.app.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;

/**
 * @Description:TODO(托盘)
 *
 * @author: Wonder
 *
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_prd_tray")
@ApiModel(value="t_prd_tray对象", description="托盘")
public class Tray extends Model<Tray> {

    private static final long serialVersionUID = 1727087268669822L;

    @TableId(value ="Id", type = IdType.AUTO)
    @ApiModelProperty(name = "Id" , value = "主键")
    private Long Id;


    @TableField(value = "ITEMNUMBER")
    @ApiModelProperty(name = "ITEMNUMBER" , value = "件号")
    private String ITEMNUMBER;

    @TableField(value = "FLOT")
    @ApiModelProperty(name = "FLOT" , value = "批号")
    private String FLOT;

    @TableField(value = "FBILLNO")
    @ApiModelProperty(name = "FBILLNO" , value = "托盘号")
    private String FBILLNO;


    @TableField(value = "FMATERIALNUMBER")
    @ApiModelProperty(name = "FMATERIALNUMBER" , value = "物料编码")
    private String FMATERIALNUMBER;

    @TableField(value = "FMATERIALNAME")
    @ApiModelProperty(name = "FMATERIALNAME" , value = "物料名称")
    private String FMATERIALNAME;


    @TableField(value = "FSPECIFICATION")
    @ApiModelProperty(name = "FSPECIFICATION" , value = "规格型号")
    private String FSPECIFICATION;

    @TableField(value = "FUNITID")
    @ApiModelProperty(name = "FUNITID" , value = "单位内码")
    private String FUNITID;

    @TableField(value = "FUNITNAME")
    @ApiModelProperty(name = "FUNITNAME" , value = "单位名称")
    private String FUNITNAME;


    @TableField(value = "FQTY")
    @ApiModelProperty(name = "FQTY" , value = "数量")
    private Double FQTY;

    @TableField(value = "FAILQTY")
    @ApiModelProperty(name = "FAILQTY" , value = "废料数量合计")
    private Double FAILQTY;


    @TableField(value = "FOPERPNO")
    @ApiModelProperty(name = "FOPERPNO" , value = "工单号")
    private String FOPERPNO;

    @TableField(exist = false)
    @ApiModelProperty(name = "isPpBom" , value = "是否是bom中的物料信息")
    private Boolean isPpBom;


    @TableField(value = "ISPACKAGE")
    @ApiModelProperty(name = "ISPACKAGE" , value = "是否在包装车间")
    private Boolean ISPACKAGE;

    @TableField(value = "CREATEUSERNAME")
    @ApiModelProperty(name = "CREATEUSERNAME" , value = "创建人")
    private String CREATEUSERNAME;

    @TableField(value = "CREATETIME")
    @ApiModelProperty(name = "CREATETIME" , value = "创建时间")
    private Date CREATETIME;

    @TableField(value = "PROCESS")
    @ApiModelProperty(name = "PROCESS" , value = "汇报过的工序号(判断工序是否汇报)")
    private String PROCESS;

    @TableField(value = "PACKAGEPROCESS")
    @ApiModelProperty(name = "PACKAGEPROCESS" , value = "用于包装间绑定过哪些工单号")
    private String PACKAGEPROCESS;

    @TableField(value = "OPERNOSM")
    @ApiModelProperty(name = "OPERNOSM" , value = "铸造间的工单号")
    private String OPERNOSM;

    @TableField(value = "SERIAL")
    @ApiModelProperty(name = "SERIAL" , value = "流水号")
    private String SERIAL;

    @TableField(value = "INSTOCKTIME")
    @ApiModelProperty(name = "INSTOCKTIME" , value = "入库日期")
    private Date INSTOCKTIME;

    @TableField(value = "PRODUCTIONDATE")
    @ApiModelProperty(name = "PRODUCTIONDATE" , value = "生产日期")
    private Date PRODUCTIONDATE;

    @TableField(value = "STOCKNO")
    @ApiModelProperty(name = "STOCKNO" , value = "仓库编码")
    private String STOCKNO;

    @TableField(value = "STOCKNAME")
    @ApiModelProperty(name = "STOCKNAME" , value = "仓库名称")
    private String STOCKNAME;

    @TableField(value = "LOCATIONNO")
    @ApiModelProperty(name = "LOCATIONNO" , value = "仓位编码")
    private String LOCATIONNO;

    @TableField(value = "LOCATIONNAME")
    @ApiModelProperty(name = "LOCATIONNAME" , value = "仓位名称")
    private String LOCATIONNAME;

    @TableField(value = "MOBILLNO")
    @ApiModelProperty(name = "MOBILLNO" , value = "制令单号")
    private String MOBILLNO;

    @TableField(value = "SUFFIX")
    @ApiModelProperty(name = "SUFFIX" , value = "后缀(铸造用)")
    private String SUFFIX;

    @TableField(value = "IRONNO")
    @ApiModelProperty(name = "IRONNO" , value = "合并后的托号")
    private String IRONNO;

    @TableField(value = "ISSOURCE")
    @ApiModelProperty(name = "ISSOURCE" , value = "是否合托")
    private Boolean ISSOURCE;

    @TableField(value = "UPDATETIME")
    @ApiModelProperty(name = "UPDATETIME" , value = "修改时间")
    private Date UPDATETIME;


    @TableField(exist = false)
    @ApiModelProperty(name = "optCount" , value = "当前托盘可汇报的数量")
    private Double optCount;

    @Override
    public Serializable pkVal() {
        return this.Id;
    }

}
